forEach()
: 會將陣列內的每個元素,皆傳入並執行給定的函式一次。
forEach不會有回傳值, 就像一般的for迴圈
const array1 = ['a', 'b', 'c'];
1.
array1.forEach(function(h){
console.log(h));
function(h)= (h)=>
2.
array1.forEach((h) =>{
console.log(h)});
forEach()
應用:
讓陣列的每個名字長度變成五倍
let heroes = ["A", "b", "C"];
const result = [];
heroes.forEach(function (h) {
result.push(h.repeat(5));
});
console.log(result); //['AAAAA', 'bbbbb', 'CCCCC']
map()
: 會將原本的內容運算過後, 建立一個新的陣列
會有回傳值
let numbers = [1, 2, 3, 4, 5];
let double = numbers.map(function (n) {
return n * 2;
});
console.log(double); //[2, 4, 6, 8, 10]
let heroes = ["a", "b", "c"];
1.
let result = [];
result = heroes.map(function (n) {
return n.repeat(5);
});
console.log(result); // ['aaaaa', 'bbbbb', 'ccccc']
2.
let result = [];
result = heroes.map(function (n) {
return "我是" + n;
});
console.log(result); //['我是a', '我是b', '我是c']
let new_array = arr.map(function callback( currentValue[, index[, array]]) {
// return element for new_array
}[, thisArg])
callback
呼叫 arr
所有元素的回呼函式。新數值會在每次執行 callback
時加到 new_array
。callback
函式可傳入以下三個參數:
currentValue
原陣列目前所迭代處理中的元素。index
(選擇性) :原陣列目前所迭代處理中的元素之索引。array
(選擇性) :呼叫 map
方法的陣列。thisArg
(選擇性): 選擇性的參數。執行 callback
回呼函式的 this
值。find()
: 返回符合條件的第一個元素
let heroes = ["AA", "B", "CCC", "D"];
let user = heroes.find(function (h) {
return h.length >= 2;
});
console.log(user); //AA
fliter()
: 回傳符合條件的元素
會有回傳值
let heroes = ["aaa", "bbbb", "c", "dd"];
let result = heroes.filter(function (n) {
return n.length >= 2;
});
console.log(result); //['aaa', 'bbbb', 'dd']
// 編號:CANDY-003
// 程式語言:JavaScript
// 題目:完成函數的內容,把陣列裡的 0 都移到最後面
let list = [false, 1, 0, -1, 2, 0, 1, 3, "a"];
function moveZerosToEnd(arr) {
// 程式碼寫在這裡
let nonzero = arr.filter(function (n) {
return n !== 0;
});
let zero = arr.filter(function (n) {
return n === 0;
});
return nonzero.concat(zero);
}
let result = moveZerosToEnd(list);
console.log(result); // 印出 [false, 1, -1, 2, 1, 3, "a", 0, 0]
length
: length
屬性用於獲取字串或陣列的長度。它返回字串中的字符數或陣列中的元素數量。indexOf()
: indexOf()
方法在字串或陣列中搜索指定的元素,並返回第一個匹配的索引位置。如果未找到匹配的元素,則返回-1。slice()
: slice()
方法在字串或陣列中截取指定範圍的部分,並返回一個新的字串或陣列,不影響原始的字串或陣列。concat()
: concat()
方法用於將兩個或多個字串或陣列合併成一個新的字串或陣列。它返回一個新的合併後的字串或陣列,不影響原始的字串或陣列。toUpperCase()
: toUpperCase()
方法將字串中的所有字母轉換為大寫,並返回轉換後的新字串。toLowerCase()
: toLowerCase()
方法將字串中的所有字母轉換為小寫,並返回轉換後的新字串。split()
: split()
方法將字串按指定的分隔符拆分為一個字串陣列。join()
: join()
方法將陣列中的所有元素連接為一個字串,並使用指定的分隔符分隔各個元素。這些方法可以通過**String
和Array
**對象直接調用,因為字串和陣列都是JavaScript中的內建對象類型。注意,這些方法中的某些方法在字串和陣列之間的使用方式可能有些差異,但它們的目的是相似的,可以在兩者之間進行共用。